local rootP = owner.Character.HumanoidRootPart local humanoid = owner.Character.Humanoid local tool = Instance.new("Tool", owner.Backpack) tool.CanBeDropped = false tool.Name = "The Sword" tool.ToolTip = "Fear." tool.Grip = CFrame.new(0, 0, -1.9, 0, 0, 1, 1, 0, 0, 0, 1, 0) local handle = Instance.new("Part", tool) handle.Name = "Handle" handle.Massless = true handle.Size = Vector3.new(1, 1, 5) local handleModel = Instance.new("SpecialMesh", handle) handleModel.MeshId = "http://www.roblox.com/asset/?id=11442510" handleModel.TextureId = "http://www.roblox.com/asset/?id=11442524" handleModel.Scale = Vector3.new(2,2,2) local headInfo = Instance.new("BillboardGui", owner.Character.Head) headInfo.Size = UDim2.fromScale(10,5) headInfo.StudsOffset = Vector3.new(0,3) local headInfoText = Instance.new("TextBox", headInfo) headInfoText.TextScaled = true headInfoText.Font = Enum.Font.Garamond headInfoText.Size = UDim2.fromScale(1,1) headInfoText.BackgroundTransparency = 1 headInfoText.TextColor3 = Color3.new(1, 0, 0) headInfoText.TextStrokeColor3 = Color3.new(0, 0, 0) headInfoText.TextTransparency = 1 headInfoText.TextStrokeTransparency = 1 headInfoText.Text = "!" local glintSound = Instance.new("Sound", handle) glintSound.Volume = 4 glintSound.SoundId = "rbxassetid://9116617644" local equipSound = Instance.new("Sound", handle) equipSound.SoundId = "rbxassetid://12222225" local slashSound = Instance.new("Sound", handle) slashSound.SoundId = "rbxassetid://12222208" local swingSound = Instance.new("Sound", handle) swingSound.TimePosition = .2 swingSound.SoundId = "rbxassetid://12222216" local parrySound = Instance.new("Sound", handle) parrySound.SoundId = "rbxassetid://4516507682" local equipped = false tool.Equipped:Connect(function() equipped = true equipSound:Play() end) local damaged = {} local can = true local attack = false local gotParried = false tool.Activated:Connect(function() if can and not attack and not gotParried then table.clear(damaged) can = false headInfoText.Text = "!" headInfoText.TextTransparency = 0 headInfoText.TextStrokeTransparency = 0 local Animation1 = Instance.new("StringValue") Animation1.Name = "toolanim" Animation1.Value = "Lunge" Animation1.Parent = tool glintSound:Play() task.wait(.5) headInfoText.TextTransparency = 1 headInfoText.TextStrokeTransparency = 1 attack = true humanoid.WalkSpeed = 10 slashSound:Play() local Animation2 = Instance.new("StringValue") Animation2.Name = "toolanim" Animation2.Value = "Slash" Animation2.Parent = tool task.wait(.4) if not gotParried then humanoid.WalkSpeed = 16 attack = false can = true end Animation1:Destroy() Animation2:Destroy() end end) tool.Unequipped:Connect(function() equipped = false attack = false end) local parryProximity = Instance.new("ProximityPrompt", rootP) parryProximity.Style = Enum.ProximityPromptStyle.Custom parryProximity.ClickablePrompt = false parryProximity.RequiresLineOfSight = false parryProximity.MaxActivationDistance = 2 parryProximity.KeyboardKeyCode = Enum.KeyCode.E parryProximity.Triggered:Connect(function(who) if who == owner and can and equipped then can = false humanoid.WalkSpeed = 5 tool.Grip = CFrame.new(0, 0, -1.9, 0, 0, 1, 1, 0, 0, -1, 1, 0) swingSound.TimePosition = .2 swingSound:Play() headInfoText.Text = "?" headInfoText.TextTransparency = 0 headInfoText.TextStrokeTransparency = 0 local canParry = true local healthWas = humanoid.Health local parryFrame = humanoid.HealthChanged:Connect(function(health) if health < healthWas and canParry then canParry = false humanoid.Health = healthWas humanoid.WalkSpeed = 16 tool.Grip = CFrame.new(0, 0, -1.9, 0, 0, 1, 1, 0, 0, 0, 1, 0) headInfoText.TextTransparency = 1 headInfoText.TextStrokeTransparency = 1 can = true end end) task.wait(1) parryFrame:Disconnect() if canParry then canParry = false humanoid.WalkSpeed = 2 tool.Grip = CFrame.new(0, 0, -1.9, 0, 0, 1, 1, 0, 0, 0, 1, 0) headInfoText.Text = "@" headInfoText.TextTransparency = 0 headInfoText.TextStrokeTransparency = 0 task.wait(1.5) headInfoText.TextTransparency = 1 headInfoText.TextStrokeTransparency = 1 humanoid.WalkSpeed = 16 can = true end end end) handle.Touched:Connect(function(what) local model = what:FindFirstAncestorOfClass("Model") if model and model ~= owner.Character and attack and not gotParried then local whatHumanoid = model:FindFirstChild("Humanoid", true) if whatHumanoid and not damaged[whatHumanoid] then local healthWas = whatHumanoid.Health whatHumanoid:TakeDamage(20) damaged[whatHumanoid] = true task.wait() if whatHumanoid.Health + 5 >= healthWas then can = false gotParried = true attack = false parrySound:Play() humanoid.WalkSpeed = 2 headInfoText.Text = "#" headInfoText.TextTransparency = 0 headInfoText.TextStrokeTransparency = 0 task.wait(3) headInfoText.TextTransparency = 1 headInfoText.TextStrokeTransparency = 1 humanoid.WalkSpeed = 16 gotParried = false can = true end end end end)